if(String==String)的不匹配、不相等问题 |
您所在的位置:网站首页 › string 判断 › if(String==String)的不匹配、不相等问题 |
基本数据类有:byte short int long float double char boolean 这8种类型的 变量名和值 都存储在栈空间中,而String类型是引用数据类型,String在栈中只储存 变量名和堆地址值 因此8种基本数据类型可以直接用==来判断是否相等 而String作为引用数据类型,用==是判断二者地址是否相同,用equals方法才是判断值是否相等 equals用法:if ( a.equals(b) ) { 函数体 } ==用法:if ( a==b ) { 函数体 } import java.util.Scanner; public class StringTest { public static void main(String[] args) { Scanner scan = new Scanner(System.in);//实例化Scanner String a = "abc"; String b = new String("abc"); //因为String是引用数据类型,所以可以用new来new一个String System.out.println("输入:abc"); String c = scan.next(); //从键盘输入的abc和直接定义效果一样 System.out.println("/*****equals是判断内容值是否相等*****/"); if (a.equals(b) && b.equals(c) && c.equals(a)) { System.out.println("a equals b && b equals c && c equals a"); } System.out.println("/*****==是判断二者引用是否相同*****/"); c = a; //c指向a if (a == c && a.equals(c)) { // 引用传递之后值也一定相等 if(true) System.out.println("a==c && a.equals(c)"); } if (b == c || a == b) {//引用不同,if(false) System.out.println("b=c"); } else { System.out.println("b!=c a!=b"); } } }结果:
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |